#ifndef _CAT
#define _CAT
#include <iostream>
#include <fstream>
#include <string>
#include "IOMgmt.h"
#include "AppError.h"
#include "Pet.h"
using namespace IOMgmt;
using namespace std;

class Cat: Pet
{

      public:
             Cat();

             //DNA does not need to be taken in since it will always be CAT
             Cat(string name, string sex, string color);
             virtual ~Cat();
             void Perform (string cmd, ostream& fout ) throw (AppError);
             string MyColorIs ();
             string Cry ();

             void Extract( ifstream& fin ) throw(TokenError);  //Extractor
             void Insert( ostream& fout );                     //Insertor


      protected:
              virtual void  Get( ifstream& fin) throw(TokenError);	//Boundary input
              virtual void  Put( ostream& fout);				//Boundary output
   private:
//              string NAME;
//              string SPECIES;
//              string SEX;
              string COLOR;
              //string DNA;




};

#endif
